package com.tiancai.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

/**
 * 配置mybatis-plus自动填充类

 */
// 标注为Spring组件，使其可以被Spring容器管理
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    // 插入时的自动填充策略
    @Override
    public void insertFill(MetaObject metaObject) {
        // 字段自动填充的逻辑，可以判断当前字段是否为空然后进行填充

        // 使用strictInsertFill方法填充"createTime"字段，填充类型为LocalDateTime，填充值为当前时间
        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());

        // 使用strictInsertFill方法填充"updateTime"字段，填充类型为LocalDateTime，填充值为当前时间
        this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());


    }

    // 更新时的自动填充策略
    @Override
    public void updateFill(MetaObject metaObject) {
        // 使用strictUpdateFill方法填充"updateTime"字段，填充类型为LocalDateTime，填充值为当前时间
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());


    }
}
